In chip design, verification tests are run virtually on a model representing the actual chip design. Simulations may run hundreds of thousands of times (or more) and test the coverage of the chip. Coverage of a chip design refers to the percentage of the proposed chip design that was actually used during execution of a simulation of the chip design. In coverage testing, a test is a launch of one or more simulations to simulate certain conditions and to output from the simulations what the chip design will cover. A simulation is a software mimic of the hardware chip model, which can simulate a chip without manufacturing the hardware. A simulator application is used for checking the expected behavior of the chip by simulating the chip functionality using thousands or millions of simulations.
Companies that want to physically produce a chip design typically spend millions of dollars to achieve as much coverage as possible, and verification of the chip design coverage typically accounts for up to 60% of a chip company's total chip design budget. These companies do not expect to get 100% coverage during testing, but the more coverage the better, as more coverage indicates better efficiency of the chip. For example, a chip design resulting in 80-90% coverage may be considered an efficient chip design.
However, known systems for providing chip design testing generate large amounts of data from these simulations and users do not have the tools to analyze the data. Currently available verification systems are unable to provide users with adequate remote testing and analysis capabilities. Furthermore, there are scalability issues as well. For example, because large amounts of coverage data are generated, some analysis calculations are very heavy in terms of memory consumption. This creates a barrier in terms of how many concurrent requests a server can handle.
What is needed, therefore, is a solution such that verification systems can serve remote requests without overloading the server, and that will allow users to interact with regression farms to execute tests and query (e.g., test and/or analyze) regression simulation testing database results remotely.